package com.bsg.upm.dao;

import org.apache.ibatis.annotations.Param;

import com.bsg.upm.entity.UserEntity;

/**
 * 用户接口
 * 
 * @author HCK
 *
 */
public interface UserDao extends CrudDao<UserEntity> {

	/**
	 * 获取用户信息
	 * 
	 * @param loginName
	 *            登录名
	 * @param password
	 *            密码
	 * @return 用户信息
	 */
	UserEntity getUser(@Param("loginName") String loginName, @Param("password") String password);

	/**
	 * 获取指定用户名的用户的个数
	 * 
	 * @param username
	 *            用户名
	 * @return 用户数
	 */
	int countByUsername(String username);

	/**
	 * 获取指定手机号的用户的个数
	 * 
	 * @param telephone
	 *            手机号
	 * @return 用户数
	 */
	int countByTelephone(String telephone);

	/**
	 * 获取指定电子邮件的用户的个数
	 * 
	 * @param email
	 *            电子邮件
	 * @return 用户数
	 */
	int countByEmail(String email);

	/**
	 * 密码变更
	 * 
	 * @param user
	 *            用户对象
	 * @return 更新对象条数
	 */
	int updatePwd(UserEntity user);

	/**
	 * 更新用户状态
	 * 
	 * @param user
	 *            用户对象
	 * @return 更新对象条数
	 */
	int updateEnabled(UserEntity user);
}
